#pragma once

#include <base/macro/byte.h>

/* 有限制的char */

/* 将[a-z0-9]字母转成byte */
#define AZ09_TO_BYTE(c)	__AZ09_##c

#define __AZ09_0	48
#define __AZ09_1	49
#define __AZ09_2	50
#define __AZ09_3	51
#define __AZ09_4	52
#define __AZ09_5	53
#define __AZ09_6	54
#define __AZ09_7	55
#define __AZ09_8	56
#define __AZ09_9	57

#define __AZ09_A	65
#define __AZ09_B	66
#define __AZ09_C	67
#define __AZ09_D	68
#define __AZ09_E	69
#define __AZ09_F	70
#define __AZ09_G	71
#define __AZ09_H	72
#define __AZ09_I	73
#define __AZ09_J	74
#define __AZ09_K	75
#define __AZ09_L	76
#define __AZ09_M	77
#define __AZ09_N	78
#define __AZ09_O	79
#define __AZ09_P	80
#define __AZ09_Q	81
#define __AZ09_R	82
#define __AZ09_S	83
#define __AZ09_T	84
#define __AZ09_U	85
#define __AZ09_V	86
#define __AZ09_W	87
#define __AZ09_X	88
#define __AZ09_Y	89
#define __AZ09_Z	90

#define __AZ09_a	97
#define __AZ09_b	98
#define __AZ09_c	99
#define __AZ09_d	100
#define __AZ09_e	101
#define __AZ09_f	102
#define __AZ09_g	103
#define __AZ09_h	104
#define __AZ09_i	105
#define __AZ09_j	106
#define __AZ09_k	107
#define __AZ09_l	108
#define __AZ09_m	109
#define __AZ09_n	110
#define __AZ09_o	111
#define __AZ09_p	112
#define __AZ09_q	113
#define __AZ09_r	114
#define __AZ09_s	115
#define __AZ09_t	116
#define __AZ09_u	117
#define __AZ09_v	118
#define __AZ09_w	119
#define __AZ09_x	120
#define __AZ09_y	121
#define __AZ09_z	122
